package com.sinosoft.hydra.um.dao.impl;

import com.sinosoft.hydra.um.dao.SysRoleDao;
import com.sinosoft.hydra.um.utils.AppUtils;
import cn.com.sinux.spring.utils.ValidatorUtils;;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 角色Dao实现类
 * @time 2015-2-1
 * @desc  提供关于角色的数据库查询
 * @author Zhengt@sinux.com.cn
 */
@Service("sysRoleDao")
public class SysRoleDaoImpl implements SysRoleDao{
    @Autowired
    private JdbcTemplate jdbcTemplate;

    /**
     * 储存用户角色
     * @param roleIds 角色主键集
     * @param userId 用户主键
     */
    @Transactional
    public void saveUserRole(List<String> roleIds ,String userId) {
        String sql = "delete FROM UM_SYS_ROLE_USER where USER_ID=?";
        jdbcTemplate.update(sql,userId);
        if(ValidatorUtils.isArrayNotEmpty(roleIds)){
            for(String id: roleIds){
                if(id.length()>0){
                    sql="insert into UM_SYS_ROLE_USER(ROLE_ID, USER_ID) values(?,?)";
                    jdbcTemplate.update(sql,new String[]{id, userId});
                }
            }
        }
    }
}
